package ${package.ServiceImpl};

<#if custom_enable_ds>
import com.baomidou.dynamic.datasource.annotation.DS;
</#if>
import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
<#if table.serviceInterface>
import ${package.Service}.${table.serviceName};
</#if>
import ${superServiceImplClassPackage};
import org.springframework.stereotype.Service;

/**
 * <p>
 * ${table.comment!} 服务实现类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
@Service
<#if custom_enable_ds>
@DS("slave")
</#if>
<#if kotlin>
open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>()<#if table.serviceInterface>, ${table.serviceName}</#if> {

}
<#else>
public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}><#if table.serviceInterface> implements ${table.serviceName}</#if> {
    /**
     * 【温馨提示】业务层代码规范
     * 1、Service层负责数据库操作，建议功能单一，做到短事务。
     * 2、技术框架自动根据方法名加上强制读/写事务，读事务走从库，写事务走主库。
     * 3、限制返回数据大小，避免一次性查询超过500条数据，使用分页或偏移量查询数据。
     */


}
</#if>
